@Controller
public class XXXController {

    /**
     * 真事，之前的公司项目就是这样的，我都看傻了
     * 一个controller直接掌管全局，根据入参的"cmd"参数来控制到底走那个处理
     * 你可能会问，那传json怎么传呢？哎！人家自有妙招 直接转字符串传入，然后在转Map处理
     * 无论是普通的请求，还是下载文件等等，只要是请求，就都请求这个一个接口
     * @param req
     * @param res
     */
    @RequestMapping(value = "/xxx", method = {RequestMethod.GET})
    public void xxx(HttpServletRequest req, HttpServletResponse res) {
        A a = new A();
        B b = new B();
        C c = new C();
        if (a.invoke(req, res)) return;
        if (b.invoke(req, res)) return;
        if (c.invoke(req, res)) return;
    }

}

class A {

    public boolean invoke(HttpServletRequest req, HttpServletResponse res) {
        int cmd = Integer.parseInt(req.getParameter("cmd"));
        int c = 6000;
        if (cmd == c) {
            //一顿操作
            return true;
        } else if (cmd == c + 1) {
            //一顿操作
            return true;
        } else if (cmd == c + 2) {
            //一顿操作
            return true;
        } else if (cmd == c + 3) {
            //一顿操作
            return true;
        } else if (cmd == c + 4) {
            //一顿操作
            return true;
        } else if (cmd == c + 5) {
            //一顿操作
            return true;
        }
        return false;
    }

}

class B {

    public boolean invoke(HttpServletRequest req, HttpServletResponse res) {
        int cmd = Integer.parseInt(req.getParameter("cmd"));
        int c = 7000;
        if (cmd == c) {
            //一顿操作
            return true;
        } else if (cmd == c + 1) {
            //一顿操作
            return true;
        } else if (cmd == c + 2) {
            //一顿操作
            return true;
        } else if (cmd == c + 3) {
            //一顿操作
            return true;
        } else if (cmd == c + 4) {
            //一顿操作
            return true;
        } else if (cmd == c + 5) {
            //一顿操作
            return true;
        }
        return false;
    }

}

class C {

    public boolean invoke(HttpServletRequest req, HttpServletResponse res) {
        int cmd = Integer.parseInt(req.getParameter("cmd"));
        int c = 8000;
        if (cmd == c) {
            //一顿操作
            return true;
        } else if (cmd == c + 1) {
            //一顿操作
            return true;
        } else if (cmd == c + 2) {
            //一顿操作
            return true;
        } else if (cmd == c + 3) {
            //一顿操作
            return true;
        } else if (cmd == c + 4) {
            //一顿操作
            return true;
        } else if (cmd == c + 5) {
            //一顿操作
            return true;
        }
        return false;
    }

}